"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/3/4 8:25
@Description : 
设计一个基类MusicPlayer，包含以下内容：
一个初始化方法，接受播放器名称。
一个play()方法，返回播放器的播放信息（在基类中返回“正在播放音乐...”）。
一个stop()方法，返回播放器的停止信息（在基类中返回“停止播放...”）。
然后，定义两个派生类MP3Player和SmartphonePlayer，分别实现它们的播放和停止信息：
MP3Player的播放信息为“MP3播放器正在播放音乐...”，停止信息为“MP3播放器已停止播放...”。
SmartphonePlayer的播放信息为“智能手机正在播放音乐...”，停止信息为“智能手机已停止播放...”。
要求：
测试代码中创建MP3Player和SmartphonePlayer对象，并通过多态调用play()和stop()方法
"""


class MusicPlayer:
    name = None

    def __init__(self, name):
        self.name = name

    def play(self):
        print('正在播放音乐...')

    def stop(self):
        print('停止播放...')


class MP3Player(MusicPlayer):

    def play(self):
        print('MP3正在播放音乐...')

    def stop(self):
        print('MP3停止播放...')

    pass


class SmartphonePlayer(MusicPlayer):
    def play(self):
        print(f'{self.name}正在播放音乐...')

    def stop(self):
        print(f'{self.name}停止播放...')

    pass


player: MusicPlayer = SmartphonePlayer('Smartphone')

# player.play()
# player.stop()


def play_Music(player: MusicPlayer):
    player.play()
    player.stop()

play_Music(MP3Player('mp3'))
